package edu.protbioinfo;

public final class ProteinSubstitutionMatrices {
	private static final char[] letters = {'C', 'S', 'T', 'P', 'A', 'G', 'N', 'D', 'E', 'Q', 'H', 'R', 'K', 'M', 'I', 'L', 'V', 'F', 'Y', 'W'};
	
	public static final LabeledMatrix<Double> blosum62 = new LabeledMatrix<Double>(letters, letters);
	
	static{
		blosum62.setData(new Double[]{
				9., -1., -1., -3., 0., -3., -3., -3., -4., -3., -3., -3., -3., -1., -1., -1., -1., -2., -2., -2.,
				-1., 4., 1., -1., 1., 0., 1., 0., 0., 0., -1., -1., 0., -1., -2., -2., -2., -2., -2., -3.,
				-1., 1., 4., 1., -1., 1., 0., 1., 0., 0., 0., -1., 0., -1., -2., -2., -2., -2., -2., -3.,
				-3., -1., 1., 7., -1., -2., -1., -1., -1., -1., -2., -2., -1., -2., -3., -3., -2., -4., -3., -4.,
				0., 1., -1., -1., 4., 0., -1., -2., -1., -1., -2., -1., -1., -1., -1., -1., -2., -2., -2., -3.,
				-3., 0., 1., -2., 0., 6., -2., -1., -2., -2., -2., -2., -2., -3., -4., -4., 0., -3., -3., -2.,
				-3., 1., 0., -2., -2., 0., 6., 1., 0., 0., -1., 0., 0., -2., -3., -3., -3., -3., -2., -4.,
				-3., 0., 1., -1., -2., -1., 1., 6., 2., 0., -1., -2., -1., -3., -3., -4., -3., -3., -3., -4.,
				-4., 0., 0., -1., -1., -2., 0., 2., 5., 2., 0., 0., 1., -2., -3., -3., -3., -3., -2., -3.,
				-3., 0., 0., -1., -1., -2., 0., 0., 2., 5., 0., 1., 1., 0., -3., -2., -2., -3., -1., -2.,
				-3., -1., 0., -2., -2., -2., 1., 1., 0., 0., 8., 0., -1., -2., -3., -3., -2., -1., 2., -2.,
				-3., -1., -1., -2., -1., -2., 0., -2., 0., 1., 0., 5., 2., -1., -3., -2., -3., -3., -2., -3.,
				-3., 0., 0., -1., -1., -2., 0., -1., 1., 1., -1., 2., 5., -1., -3., -2., -3., -3., -2., -3.,
				-1., -1., -1., -2., -1., -3., -2., -3., -2., 0., -2., -1., -1., 5., 1., 2., -2., 0., -1., -1.,
				-1., -2., -2., -3., -1., -4., -3., -3., -3., -3., -3., -3., -3., 1., 4., 2., 1., 0., -1., -3.,
				-1., -2., -2., -3., -1., -4., -3., -4., -3., -2., -3., -2., -2., 2., 2., 4., 3., 0., -1., -2.,
				-1., -2., -2., -2., 0., -3., -3., -3., -2., -2., -3., -3., -2., 1., 3., 1., 4., -1., -1., -3.,
				-2., -2., -2., -4., -2., -3., -3., -3., -3., -3., -1., -3., -3., 0., 0., 0., -1., 6., 3., 1.,
				-2., -2., -2., -3., -2., -3., -2., -3., -2., -1., 2., -2., -2., -1., -1., -1., -1., 3., 7., 2.,
				-2., -3., -3., -4., -3., -2., -4., -4., -3., -2., -2., -3., -3., -1., -3., -2., -3., 1., 2., 11.
		});
	}
}
